<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<!-- **************************************** -->
<!-- *                                      * -->
<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS * -->
<!-- *  OUT OF THESE TEMPLATES.             * -->
<!-- *  i.e. only iterate & print data      * -->
<!-- *  Thanks                              * -->
<!-- *  Jez.                                * -->
<!-- *                                      * -->
<!-- **************************************** -->
<HTML>
<HEAD>
<!-- Generated by groovydoc (Jeremy Rayner 2007) -->
<TITLE>
AuthenticateService
</TITLE>

<META NAME="keywords" CONTENT="getTimezoneOffset()">

<!-- todo stylesheet relative path -->
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="AuthenticateService";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">

<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>

  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <!--<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>

  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>-->
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><!--<FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../groovy/lang/ExpandoMetaClass.ExpandoMetaProperty.html" title="class in groovy.lang"><B>PREV CLASS</B></A>&nbsp;

&nbsp;<A HREF="../../../../../../../groovy/lang/GroovyClassLoader.html" title="class in groovy.lang"><B>NEXT CLASS</B></A></FONT>--></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../index.html?grails-app/services/org/grails/plugins/springsecurity/service/AuthenticateService.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AuthenticateService.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;


</FONT></TD>

</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>

</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->


<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
grails-app.services.org.grails.plugins.springsecurity.service</FONT>
<BR>
<FONT CLASS="ClassTitleFont">Class AuthenticateService</FONT></H2>
<P>
 Authentication utility methods.

 <DL><DT><B>author:</B></DT><DD>T.Yamamoto</DD></DL>
 <DL><DT><B>author:</B></DT><DD><a href='mailto:beckwithb@studentsonly.com'>Burt Beckwith</a></DD></DL>
 
</P>

<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">

<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>

</TR>
  
    <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    <CODE><!--todo visibility e.g. protected--> &nbsp;def</CODE></FONT></TD>
    <TD><CODE><B><A HREF="#objectDefinitionSource">objectDefinitionSource</A></B></CODE>

    <BR>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    </TR>
  
    <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    <CODE><!--todo visibility e.g. protected--> &nbsp;def</CODE></FONT></TD>
    <TD><CODE><B><A HREF="#passwordEncoder">passwordEncoder</A></B></CODE>

    <BR>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    </TR>
  
    <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    <CODE><!--todo visibility e.g. protected--> &nbsp;def</CODE></FONT></TD>
    <TD><CODE><B><A HREF="#securityConfig">securityConfig</A></B></CODE>

    <BR>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    </TR>
  
    <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
    <CODE><!--todo visibility e.g. protected--> &nbsp;boolean</CODE></FONT></TD>
    <TD><CODE><B><A HREF="#transactional">transactional</A></B></CODE>

    <BR>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    </TR>
  

</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">

<TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>



<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><a href="">AuthenticateService</a></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>

</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont">
<B>Method Summary</B></FONT></TH>
</TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>void</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#clearCachedRequestmaps()">clearCachedRequestmaps</a></B>()</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call when editing, creating, or deleting a Requestmap to flush the cached
 configuration and rebuild using the most recent data.
	 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>void</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#deleteRole(def)">deleteRole</a></B>(def role)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delete a role, and if Requestmap class is used to store roles, remove the role
 from all Requestmap definitions. </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>String</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#encodePassword(String)">encodePassword</a></B>(String passwd)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>List</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#findRequestmapsByRole(String, def, def)">findRequestmapsByRole</a></B>(String roleName, def domainClass, def conf)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>ConfigObject</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#getSecurityConfig()">getSecurityConfig</a></B>()</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Load the security configuration.
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#ifAllGranted(def)">ifAllGranted</a></B>(def role)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dependency injection for the password encoder </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#ifAnyGranted(def)">ifAnyGranted</a></B>(def role)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
	 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#ifNotGranted(def)">ifNotGranted</a></B>(def role)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
	 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#isAjax(def)">isAjax</a></B>(def request)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Check if the request was triggered by an Ajax call.
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#isLoggedIn()">isLoggedIn</a></B>()</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>String</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#passwordEncoder(String)">passwordEncoder</a></B>(String passwd)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returns a MessageDigest password.
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>def</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#principal()">principal</a></B>()</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the currently logged in user's principal.
 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>boolean</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#updateRole(def, def)">updateRole</a></B>(def role, def newProperties)</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Update a role, and if Requestmap class is used to store roles, replace the new role
 name in all Requestmap definitions that use it if the name was changed.

 </FONT>
    </TD>
  </TR>



  <TR BGCOLOR="white" CLASS="TableRowColor">
    <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
    <CODE>def</CODE></FONT></TD>
    <TD><FONT CLASS="ClassItemFont"><CODE><B><a href="#userDomain()">userDomain</a></B>()</CODE></FONT>

    <BR>
    <FONT CLASS="ClassItemFont">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the currently logged in user's domain class.
 </FONT>
    </TD>
  </TR>







</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>


<A NAME="QName(java.lang.String)"><!-- --></A><H3>
AuthenticateService</H3>
<PRE><B>AuthenticateService</B>()</PRE>
<DL>
<DD>
<P>
<!--<DL>
<DT> todo <B>Parameters:</B><DD><CODE>localPart</CODE> - Local part of the QName</DL>-->

</DL>
<HR>


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="clearCachedRequestmaps()"><!-- --></A><H3>
clearCachedRequestmaps</H3>
<PRE>void <B>clearCachedRequestmaps</B>()</PRE>

<DL>
<DD> Call when editing, creating, or deleting a Requestmap to flush the cached
 configuration and rebuild using the most recent data.
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="deleteRole(def)"><!-- --></A><H3>
deleteRole</H3>
<PRE>void <B>deleteRole</B>(def role)</PRE>

<DL>
<DD> Delete a role, and if Requestmap class is used to store roles, remove the role
 from all Requestmap definitions. If a Requestmap's config attribute is this role,
 it will be deleted.

 <DL><DT><B>param:</B></DT><DD>role  the role to delete</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="encodePassword(String)"><!-- --></A><H3>
encodePassword</H3>
<PRE>String <B>encodePassword</B>(String passwd)</PRE>

<DL>
<DD>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="findRequestmapsByRole(String, def, def)"><!-- --></A><H3>
findRequestmapsByRole</H3>
<PRE>List <B>findRequestmapsByRole</B>(String roleName, def domainClass, def conf)</PRE>

<DL>
<DD>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="getSecurityConfig()"><!-- --></A><H3>
getSecurityConfig</H3>
<PRE>ConfigObject <B>getSecurityConfig</B>()</PRE>

<DL>
<DD> Load the security configuration.
 <DL><DT><B>return:</B></DT><DD>the config</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="ifAllGranted(def)"><!-- --></A><H3>
ifAllGranted</H3>
<PRE>boolean <B>ifAllGranted</B>(def role)</PRE>

<DL>
<DD> dependency injection for the password encoder 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="ifAnyGranted(def)"><!-- --></A><H3>
ifAnyGranted</H3>
<PRE>boolean <B>ifAnyGranted</B>(def role)</PRE>

<DL>
<DD> <DL><DT><B>deprecated:</B></DT><DD>You can invoke tags from controllers (since grails-0.6)</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="ifNotGranted(def)"><!-- --></A><H3>
ifNotGranted</H3>
<PRE>boolean <B>ifNotGranted</B>(def role)</PRE>

<DL>
<DD> <DL><DT><B>deprecated:</B></DT><DD>You can invoke tags from controllers (since grails-0.6)</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="isAjax(def)"><!-- --></A><H3>
isAjax</H3>
<PRE>boolean <B>isAjax</B>(def request)</PRE>

<DL>
<DD> Check if the request was triggered by an Ajax call.
 <DL><DT><B>param:</B></DT><DD>request the request</DD></DL>
 <DL><DT><B>return:</B></DT><DD><code>true</code> if Ajax</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="isLoggedIn()"><!-- --></A><H3>
isLoggedIn</H3>
<PRE>boolean <B>isLoggedIn</B>()</PRE>

<DL>
<DD>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="passwordEncoder(String)"><!-- --></A><H3>
passwordEncoder</H3>
<PRE>String <B>passwordEncoder</B>(String passwd)</PRE>

<DL>
<DD> returns a MessageDigest password.
 (changes algorithm method dynamically by param of config)
 <DL><DT><B>deprecated:</B></DT><DD>use <code>encodePassword</code> instead</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="principal()"><!-- --></A><H3>
principal</H3>
<PRE>public def <B>principal</B>()</PRE>

<DL>
<DD> Get the currently logged in user's principal.
 <DL><DT><B>return:</B></DT><DD>the principal or <code>null</code> if not logged in</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="updateRole(def, def)"><!-- --></A><H3>
updateRole</H3>
<PRE>boolean <B>updateRole</B>(def role, def newProperties)</PRE>

<DL>
<DD> Update a role, and if Requestmap class is used to store roles, replace the new role
 name in all Requestmap definitions that use it if the name was changed.

 <DL><DT><B>param:</B></DT><DD>role  the role to update</DD></DL>
 <DL><DT><B>param:</B></DT><DD>newProperties  the new role attributes ('params' from the calling controller)</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

<A NAME="userDomain()"><!-- --></A><H3>
userDomain</H3>
<PRE>public def <B>userDomain</B>()</PRE>

<DL>
<DD> Get the currently logged in user's domain class.
 <DL><DT><B>return:</B></DT><DD>the domain object or <code>null</code> if not logged in</DD></DL>
	 
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B><!--todo Returns:--></B><DD><!-- todo --></DL>
</DD>
</DL>
<HR>

	
<!-- ========= END OF CLASS DATA ========= -->
<HR>


</BODY>
</HTML>
